5 REM"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 6 REM"[194] FIDGITS MUSIC SCHOOL [194]" 7 REM"[194] BY WALTER E. MEYERS [194]" 8 REM"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]" 10 POKE 56576,PEEK(56576)OR 3:POKE 53272,21:POKE 648,4:POKE 53269,0:GOTO 1000 20 POKE S+1,HI:POKE S,LO:POKE S+4,17:FOR T=1 TO 100:NEXT:POKE S+4,16:RETURN 30 POKE 198,0:WAIT 198,1:II=PEEK(631):POKE 198,0:RETURN 50 POKE 781,LN:POKE 782,COL:POKE 783,0:SYS 65520:RETURN 60 FOR C=54272 TO 54296:POKE C,0:NEXT:RETURN 90 N=INT(RND(0)*D)+1:RETURN 98 : 99 REM TITLE PAGE 100 GOSUB 60:FOR I=5 TO 20 STEP 7:POKE S+I,0:POKE S+I+1,240:NEXT:POKE S+24,15 110 PRINT"[147]":FOR I=1 TO 6:PRINT:NEXT:FOR J=1 TO 3:FOR I=1 TO 4 120 PRINT F$(I) SPC(18) F$(I);:NEXT:NEXT:LN=11:COL=18:GOSUB 50:PRINT B7$:M=1 130 LL=8:N=12:FOR I=1 TO 30:LN=6:COL=18:GOSUB 50:PRINT M$(M):LN=LL:COL=12 140 GOSUB 50:PRINT WL$:COL=23:GOSUB 50:PRINT WR$:D=18:GOSUB 90:HI=HI(N) 150 LO=LO(N):GOSUB 20:LL=ABS(17-LL):M=ABS(3-M):NEXT:FOR T=1 TO 100:NEXT 158 : 159 REM INSTRUCTIONS 160 PRINT"[147]":FOR I=1 TO 4:PRINT F$(I) SPC(18) F$(I);:NEXT:PRINT 170 PRINT"[151] FIDGITS CAN HELP YOU LEARN TO READ MUSIC. YOU WILL SEE SO"; 180 PRINT"ME NOTES ON A STAFF, WITH A FIDGIT UNDER EACH ONE. HIT THE "; 190 PRINT"KEY THAT HAS THE NAME OF THE NOTE ON IT. WHEN ALL YOUR NOTES A"; 200 PRINT"RE RIGHT, THE FIDGITS WILL SPELL A WORD HIDDEN IN THE MUSIC." 208 : 209 REM LOAD FONT 210 POKE 56334,PEEK(56334) AND 254:POKE 1,PEEK(1) AND 251:SYS 49152 220 POKE 1,PEEK(1) OR 4:POKE 56334,PEEK(56334) OR 1 230 READ K:IF K=999 THEN 250 240 FOR J=0 TO 7:READ I:POKE 61440+(K*8)+J,I:NEXT:GOTO 230 250 PRINT" [152] HIT ANY KEY WHEN READY TO CONTINUE.":GOSUB 30 260 POKE 56576,PEEK(56576) AND 252:POKE 53272,44:POKE 648,200 298 : 299 REM GET CLEF 300 POKE V+23,3:POKE V+29,3:POKE V+39,0:POKE V+40,0:POKE V,100:POKE V+1,120 305 POKE V+2,220:POKE V+3,120:POKE 52216,1:POKE 52217,2:PRINT"[147]" 310 PRINT TAB(15)"[144]PICK ONE:":POKE V+21,3:LN=15:COL=0:GOSUB 50:PRINT B8$ 320 GOSUB 30:IF II<70 OR II>71 THEN 320 330 POKE V+21,0:POKE V+23,1:POKE V+29,1:POKE V,28:POKE V+2,60:POKE 52217,3 340 GAME=0:SA=0:CL=7:CA=14:IF II=70 THEN POKE 52216,2:CL=0:SA=-20:CA=0:WRD=0 348 : 349 REM MAIN LOOP 350 PRINT"[147]":POKE S+24,15:FOR I=0 TO 5:PRINT TAB(5) KB$(I):NEXT:PRINT:PRINT 360 FOR I=0 TO 4:PRINT CL$(I):NEXT:POKE V+21,1:LN=15:COL=4 400 IF WRD=40 THEN FOR I=1 TO 51:W(I)=0:NEXT 405 J=3:P=2:D=51:GOSUB 90:IF W(N)=1 THEN 405 410 L=LEN(W$(N)):W(N)=1:WRD=WRD+1:FOR I=1 TO L:P$=MID$(W$(N),I,1) 415 POKE 52216+I,3:ON ASC(P$)-64 GOTO 420,430,480,450,460,470,440 420 Y=128:NO=6:LC(I)=16:GOTO 490:REM A 430 Y=124:NO=7:LC(I)=18:GOTO 490:REM B 440 Y=132:NO=5:LC(I)=14:GOTO 490:REM G 450 Y=144:NO=2:LC(I)=8:GOTO 490:REM D 460 Y=140:NO=3:LC(I)=10:GOTO 490:REM E 470 Y=136:NO=4:LC(I)=12:GOTO 490:REM F 480 Y=148:NO=1:LC(I)=6:IF CL=7 THEN POKE 52216+I,4:REM MIDDLE C 490 Y=Y+SA:NO=NO+CL:LC(I)=LC(I)+CA 500 POKE V+39+I,2:POKE V+J,Y:POKE V+21,PEEK(V+21)+P:GOSUB 50:PRINT HO$:LN=20 510 GOSUB 50:PRINT""B$(0):HI=HI(NO):LO=LO(NO):GOSUB 20:LN=15:GOSUB 50:N1(I)=NO 520 PRINT HC$:POKE V+39+I,0:COL=COL+4:J=J+2:P=P*2:NH(I)=HI:NL(I)=LO:NEXT:LN=20 530 COL=4:FOR I=1 TO L:P$=MID$(W$(N),I,1):GOSUB 50:PRINT"" B$(0):POKE V+39+I,2 540 GOSUB 30:J=II 550 IF CHR$(J)<>P$ THEN POKE V+39+I,1:LN=15:GOSUB 50:PRINT HS$:GOTO 540 560 LN=20:GOSUB 50:PRINT B$(J-64):LN=15:GOSUB 50:PRINT HO$:HI=NH(I):LO=NL(I) 570 GOSUB 20:GOSUB 50:PRINT HC$:C1=COL+4:LN=5:COL=LC(I):GOSUB 50:PRINT"[144]" P$ 580 LN=20:COL=C1:NEXT:LN=15:COL=4 598 : 599 REM SHOW OFF 600 FOR I=1 TO L:GOSUB 50:PRINT HO$:POKE S+1,HI(N1(I)):POKE S,LO(N1(I)) 610 POKE S+8,HI(N1(I)+3):POKE S+7,LO(N1(I)+3):POKE S+15,HI(N1(I)+5) 620 POKE S+14,LO(N1(I)+5):POKE S+4,17:POKE S+11,17:POKE S+18,17:FOR T=1 TO 300 630 NEXT:GOSUB 50:POKE S+4,16:POKE S+11,16:POKE S+18,16:PRINT HC$:COL=COL+4 640 NEXT:C1=COL:LN=8:COL=14:GOSUB 50:PRINT"[152]HIT ANY KEY":GOSUB 30:COL=C1 650 GAME=GAME+1:IF GAME<7 THEN 350 698 : 699 REM NEW/END GAME 700 POKE V+21,0:POKE S+24,0:GOSUB 900:GOSUB 950:GOSUB 30:IF II<>81 THEN 300 710 GOSUB 900:PRINT:GOSUB 980:LN=3:COL=13:FOR I=1 TO 21:GOSUB 50:PRINT WL$ 720 FOR T=1 TO 100:NEXT:LN=ABS(5-LN):NEXT:POKE 53272,21:POKE 648,4 730 POKE 56576,PEEK(56576) OR 3:PRINT"[147][154]":POKE SC,6:POKE BO,14:NEW:END 898 : 899 REM NEST SBRTN 900 PRINT"[147]":PRINTTAB(18) B1$:PRINTTAB(18) B2$:PRINTTAB(16) LEFT$(NE$,3); 910 PRINT B3$ LEFT$(NE$,3):PRINTTAB(13) LEFT$(NE$,6) B4$ LEFT$(NE$,6) 920 PRINTTAB(11) LEFT$(NE$,6)"[146]" B5$ LEFT$(NE$,6):PRINTTAB(10) LEFT$(NE$,4); 930 PRINT "[146]" B6$ LEFT$(NE$,4):PRINTTAB(8) NE$:PRINTTAB(9) LEFT$(NE$,22) 940 PRINTTAB(10) LEFT$(NE$,20):PRINTTAB(11) LEFT$(NE$,18):RETURN 948 : 949 REM BANNER SBRTNS 950 PRINTTAB(9)" [176][201][193] [213][201][193][193] [213][201][213][201][213][201][193][176][201][213][201] ":PRINTTAB(9)" [171][203][194] [171][179][202][179] [171][179][194][174][171][179][194][194][194][213][203] " 960 PRINTTAB(9)" [216] [173][211][216][216] [216] [216][216][202][203][216][216][216][216][216][209] ":PRINT TAB(9)"[151]HIT[182]Q[146][181]TO QUIT OR ANY" 970 PRINTTAB(9)"OTHER KEY TO PLAY AGAIN.":RETURN 980 PRINTTAB(11)" [213][201][213][201] [193] [213][201][176][201][213][201] [193] ":PRINTTAB(11)" [202][201][194][194] [194] [194][194][194][194][194][174] [194] " 990 PRINTTAB(11)" [202][203][202][203] [173][211][202][203][216][216][202][203] [209] ":RETURN 998 : 999 REM INITIALIZE 1000 PRINT"[147][144]ONE MOMENT, PLEASE.":POKE 53281,15:POKE 53280,15:S=54272 1010 X=RND(-TI):DIM B$(7),HI(19),LO(19),NH(19),NL(19),F$(4),M$(2),W$(52),W(52) 1020 FOR TYPE=49152 TO 49184:READ A:POKE TYPE,A:NEXT 1030 FOR SPRITE=49216 TO 49471:READ A:POKE SPRITE,A:NEXT 1040 FOR WRD=1 TO 51:READ A$:W$(WRD)=A$:NEXT 1050 FOR MUSIC=1 TO 18:READ A:HI(MU)=INT(A/256):LO(MU)=A-(HI(MU)*256):NEXT 1060 V=53248:POKE V+23,3:POKE V+29,3:POKE V+39,0:POKE V+40,0:POKE V,100 1070 POKE V+1,120:POKE V+2,220:POKE V+3,120:POKE 52216,1:POKE 52217,2:H=92 1080 FOR I=V+4 TO V+14 STEP 2:POKE I,H:H=H+32:NEXT 1098 : 1099 REM STRINGS 1100 HC$=" [157][157][157][157][213][195][195][201][157][157][157][157][194][144]**[146][194][157][157][157][157][194][129]$%[146][194][157][157][157][157][202][178][178][203][157][157][157][157]" 1110 HO$="[213][195][195][201][157][157][157][157][194][169][223][146][194][157][157][157][157][194][223][169][194][157][157][157][157][202][178][178][203][157][157][157][157] [221][221] " 1120 HS$=" [157][157][157][157]/[146][175][175]0[157][157][157][157]1[144]223[157][157][157][157]4[129]$%5[157][157][157][157][146][202][178][178][203][157][157][157][157]" 1130 B$(0)="& '[157][157][157][157] [167][157][157][157][157] [167]":B$(1)="[152]&[213][201]'[157][157][157][157] [171][179] [157][157][157][157] [216][216] " 1140 B$(2)="&[176][201]'[157][157][157][157] [171][218] [157][157][157][157] [173][203] ":B$(3)="[156]&[213][201]'[157][157][157][157] [194] [157][157][157][157] [202][203] " 1150 B$(4)="&[176][201]'[157][157][157][157] [194][194] [157][157][157][157] [173][203] ":B$(5)="[129]&[176][211]'[157][157][157][157] [171][211] [157][157][157][157] [173][211] " 1160 B$(6)="[154]&[176][211]'[157][157][157][157] [171][211] [157][157][157][157] [216] ":B$(7)="[144]&[213][201]'[157][157][157][157] [194][174] [157][157][157][157] [202][203] " 1170 B1$="[213][192][192][201]":B2$="[194][144]**[146][194][149]":B3$="[146][194][129]$%[146][194][149]":B4$="[146][202][178][178][203][149]" 1180 B5$=" & '[146][149] ":B6$="  [146][149] " 1190 B7$="[169] [223][157][157][157][157] [157][157][157][157] ":NE$="())((())()())()())()(())" 1200 B8$="[152]PRESS [144]G [152]OR [144]F" 1210 WL$=" [157][157][157][157][157][176][192][192][192][201][157][157][157][157][157][202][178] [194][157][157][157][157][202][178] [173][157][157][157][202][192][192][157][157][157] " 1220 WR$=" [157][157][157][157][157][213][192][192][192][174][157][157][157][157][157][194] [178][203][157][157][157][157][157][189] [178][203][157][157][157][157][192][192][203][157][157][157] [151]" 1230 F$(1)="[213][201][211] [174] [211] ":F$(2)="[219] [174][213][179][213][174][174][219][213][201]":F$(3)="[177] [177][202][177][202][179][177][202][202][201]" 1240 F$(4)=" [202][203] [202][203]":M$(2)="[129][223][146] [169][157][157][157][157][157][146][213][129] [223][169] [146][201]" 1250 M$(1)="[129] [169][223][146] [157][157][157][157][157][213][129][169] [223][146][201][157][157][157][157][157][157][194] [144][209] [194][157][157][157][157][157][157][194] [194][157][157][157][157][157][157][202][192][174][176][192][203]" 1300 C1$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]":C2$="[151][176]":C3$="[171]":C4$="[173]" 1310 CL$(0)=C2$+C1$:CL$(1)=C3$+C1$:CL$(2)=CL$(1):CL$(3)=CL$(1):CL$(4)=C4$+C1$ 1320 KB$(0)="[221] [144]  [144]  [221] [144]  [144]  [144]  [221] [144]  [144]  [221] [144]  [144]  [144]  [221]" 1330 KB$(1)=KB$(0):KB$(2)=KB$(0):KB$(3)="[221] [221] [221] [221] [221] [221] [221] [221] [221] [221] [221] [221] [221] [221] [221]" 1340 KB$(4)=KB$(3):KB$(5)="[219][162][219][162][219][162][219][162][219][162][219][162][219][162][219][162][219][162][219][162][219][162][219][162][219][162][219][162][219]" 1990 GOTO 100 1999 : 2199 REM COPY FONT 2200 DATA 169,0,133,251,133,253,169,208 2210 DATA 133,252,169,240,133,254,162 2220 DATA 16,160,0,177,251,145,253,136 2230 DATA 208,249,230,252,230,254,202 2240 DATA 208,240,96 2298 : 2299 REM G CLEF SPRITE 2300 DATA 0,64,0,0,240,0,0,216,0 2310 DATA 0,204,0,0,204,0,0,216,0 2320 DATA 0,240,0,0,224,0,1,192,0 2330 DATA 3,192,0,6,192,0,12,192,0 2340 DATA 27,240,0,54,216,0,108,204,0 2350 DATA 108,204,0,54,216,0,24,240,0 2360 DATA 15,224,0,0,192,0,1,128,0,0 2398 : 2399 REM F CLEF SPRITE 2400 DATA 0,0,0,0,0,0,0,0,0 2410 DATA 15,0,0,25,140,0,48,204,0 2420 DATA 54,96,0,28,96,0,0,108,0 2430 DATA 0,108,0,0,96,0,0,96,0 2440 DATA 0,192,0,1,128,0,3,0,0 2450 DATA 6,0,0,0,0,0,0,0,0 2460 DATA 0,0,0,0,0,0,0,0,0,0 2498 : 2499 REM NOTE SPRITE 2500 DATA 0,0,0,0,0,0,0,0,0 2510 DATA 0,0,0,0,0,0,0,0,0 2520 DATA 0,0,0,0,0,0,0,0,0 2530 DATA 0,0,0,0,0,0,0,0,0 2540 DATA 0,0,0,0,0,0,0,0,0 2550 DATA 1,255,128,7,255,224,15,255,248 2560 DATA 15,255,248,7,255,224,1,255,128,0 2598 : 2599 REM MIDDLE C 2600 DATA 0,0,0,0,0,0,0,0,0 2610 DATA 0,0,0,0,0,0,0,0,0 2620 DATA 0,0,0,0,0,0,0,0,0 2630 DATA 0,0,0,0,0,0,0,0,0 2640 DATA 0,0,0,0,0,0,0,0,0 2650 DATA 1,255,128,7,255,224,255,255,255 2660 DATA 255,255,255,7,255,224,1,255,128,0 2698 : 2699 REM WORDS 2700 DATA"ABED","ACCEDE","ACE","ADD","AGE","AGED" 2710 DATA"BABE","BAD","BAG","BAGGAGE","BEAD","BEADED","BED","BEDDED","BEE" 2720 DATA"CAB","CAGE","CAGED","CAFE","CABBAGE","CAD","CEDE","CEDED" 2730 DATA"DAB","DAD","DECADE","DEAD","DEED","DEFACE","DEFACED","DEAF" 2740 DATA"EBB","EDGE","EDGED","EFFACE","EFFACED","EGG","EGGED" 2750 DATA"FACADE","FACE","FACED","FADE","FADED","FAD","FED","FEE","FEED" 2760 DATA"GAB","GAFF","GAG","GEE" 2798 : 2799 REM NOTE FREQUENCIES 2800 DATA 2145,2408,2703,2864,3215,3608,4050,4291,4817,5407,5728,6430,7217 2810 DATA 8101,8583,9634,10814,11457 3098 : 3099 REM CUSTOM FONT DATA 3164 DATA164,63,113,57,31,15,7,3,1 3165 DATA165,252,142,156,248,240,224,192,128 3166 DATA166,15,15,7,15,31,63,127,255 3167 DATA167,240,240,224,240,248,252,254,255 3168 DATA168,49,155,206,236,63,115,206,72 3169 DATA169,140,217,115,55,252,206,115,18 3170 DATA170,126,231,0,60,126,60,0,0 3175 DATA175,0,0,0,0,0,0,7,15 3176 DATA176,0,0,0,0,0,0,224,240 3177 DATA177,28,24,24,12,12,24,48,48 3178 DATA178,60,102,195,24,60,60,60,24 3179 DATA179,56,24,24,48,48,24,12,12 3180 DATA180,24,28,14,7,7,14,28,24 3181 DATA181,24,56,112,224,224,112,56,24 3193 DATA193,255,255,255,195,195,195,195,195 3194 DATA194,195,195,195,195,195,195,195,195 3201 DATA201,255,255,255,15,7,131,195,195 3202 DATA202,195,195,193,224,240,255,255,255 3203 DATA203,195,195,131,7,15,255,255,255 3211 DATA211,255,255,255,3,3,255,255,255 3213 DATA213,255,255,255,240,224,193,195,195 3216 DATA216,195,195,195,195,195,255,255,255 3218 DATA218,195,195,135,15,15,135,195,195 3219 DATA219,231,231,195,0,0,0,0,0 3235 DATA235,195,195,195,192,192,195,195,195 3237 DATA237,195,195,195,192,192,255,255,255 3238 DATA238,255,255,255,3,3,195,195,195 3240 DATA240,255,255,255,192,192,195,195,195 3243 DATA243,195,195,195,3,3,195,195,195 3999 DATA 999